package com.zero.jewelry.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zero.common.annotation.excel.Excel;
import com.zero.common.core.domain.base.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;



/**
 * 产品管理对象 product
 *
 * @author cai-xu-kun
 * @date 2025-07-29
 */
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class Product extends BaseEntity {
    /** 产品ID */
    @Excel(name = "产品ID")
    private Long id;

    @Excel(name = "pid")
    private Long pid;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String name;

    @Excel(name = "品牌ID")
    private Long brandId;

    @Excel(name = "品牌名称")
    @TableField(exist = false)
    private String brandName;

    @Excel(name = "主图")
    private String mainImage;

    /** 图集(用','隔开) */
    @Excel(name = "图集(用','隔开)")
    private String atlas;

    /** 是否有货（0无 1有） */
    @Excel(name = "是否有货", readConverterExp = "0=无,1=有")
    private Integer hasStock;

    /** 原价(单位：分) */
    @Excel(name = "原价(单位：分)")
    private Long price;

    /** 折扣价(单位：分） */
    @Excel(name = "折扣价(单位：分）")
    private Long newPrice;

    /** 折扣 */
    @Excel(name = "折扣")
    private Double offPercent;

    /** 商品描述 */
    @Excel(name = "商品描述")
    private String summary;

    /** 详细描述 */
    @Excel(name = "详细描述")
    private String description;

    /** 其他信息(key-value键值对) */
    @Excel(name = "其他信息(key-value键值对)")
    private String additionalInfo;

    /** 创建时间 */
    private Date createTime;

    /** 修改时间 */
    private Date updateTime;


}
